package com.yiqi.liebang.feature.home.view.adapter;

import android.support.v7.util.DiffUtil;

import com.baiiu.filter.ClassifyBo;

import java.util.List;

public class DiffCallBack extends DiffUtil.Callback {
    private List<ClassifyBo> mOldDatas, mNewDatas;

    public DiffCallBack(List<ClassifyBo> mOldDatas, List<ClassifyBo> mNewDatas) {
        this.mOldDatas = mOldDatas;
        this.mNewDatas = mNewDatas;
    }

    @Override
    public int getOldListSize() {
        return mOldDatas != null ? mOldDatas.size() : 0;
    }

    @Override
    public int getNewListSize() {
        return mNewDatas != null ? mNewDatas.size() : 0;
    }
    @Override
    public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) {
        /**
        *这边根据你的需求去判断到底还是该item只有一点点数据的变化，从而去下面的方法判断是否需要刷新是刷新整个item，
        *我的理解就是该item从旧数据到新数据我们用到的layout都变了，就是多布局，那就这边直接返回false，刷新整个item。如果返回true，讲继续执行下面的方法去判断。
        **/
        String  oldStr=mOldDatas.get(oldItemPosition).getClassify();
        String  newStr=mNewDatas.get(newItemPosition).getClassify();
        return oldStr.equals(newStr);
    }
    @Override
    public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) {
        String  oldStr=mOldDatas.get(oldItemPosition).getClassify();
        String  newStr=mNewDatas.get(newItemPosition).getClassify();
        return oldStr.equals(newStr);
    }
}